//
//  JGVividEngineEvent.h
//  JGVividEngine
//
//  Created by jagger.tu on 2025/2/13.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

/// JGVividEngine 事件
@interface JGVividEngineEvent : NSObject

/// 对应状态码或错误码,见`JGVividEngineDataDefine.h`
@property (nonatomic, assign) NSInteger code;
/// 事件码,一般不使用
@property (nonatomic, assign) NSInteger eventId;
/// 事件中附带的数据或参数
@property (nonatomic, strong, nullable) NSDictionary *parameter;
/// 对事件的一些描述信息
@property (nonatomic, strong, nullable) NSString *info;
/// 是否已经结束,结束后不在通知事件
@property (nonatomic, assign) BOOL bEnded;
/// 事件产生时间戳,单位 ms
@property (nonatomic, assign) uint64_t timestamp;

- (instancetype)initWithCode:(NSInteger)code eventId:(NSInteger)eventId parameter:(NSDictionary * _Nullable)parameter info:(NSString * _Nullable)info bEnded:(BOOL)bEnded;

- (NSString *)description;

@end

NS_ASSUME_NONNULL_END
